/*
  枚举进阶_分解质因数
  题目描述
    输入一个正整数 n，将 n 分解成质因数乘积的形式。
    质因子从小到大排列
  输入描述
    一个整数 n
  输出描述
    分解质因数的结果，注意运算符前后应有空格
  样例1
    输入
      36
    输出
      36 = 2 * 2 * 3 * 3
  提示
    1 < n < 10^9
*/

#include <bits/stdc++.h>

using namespace std;

int main() {
    long long n;
    bool ai = true; // 表示当前找到的质数是否是第一个质因数。true表示"是"，false表示"不是"

    cin >> n;
    cout << n << " = ";

    for (long long i = 2; i * i <= n; i++) {
        while (n % i == 0) {
            n = n / i;
            if (ai == true) {
                cout << i;
                ai = false;
            } else {
                cout << " * " << i;
            }
        }
    }
    if (n > 1) { // 此处 "n > 1", 则可以明确：n 是其中一个质因数
        /*
         特别注意：
           注意题目中提到的 n 的取值范围，确定 n 的边界值是否需要进行特别处理！
           当 n == 2 或 n == 3 时, 程序执行到上面的 for 循环时，程序不会执行 for 循环体中的代码，
           因此，在此处也需要判断找到的质数是否是第一个质因数!
        */
        if (ai == true) {
            cout << n;
        } else {
            cout << " * " << n;
        }
    }

    return 0;
}